#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

//void swap(char* a, char* b)
//{
//    char tmp = *a;
//    *a = *b;
//    *b = tmp;
//}
//int maximumSwap(int num) {
//    int maxi = 0;
//    int tmp = num;
//    char arr[10] = { 0 };
//    int i = 0;
//    while (tmp)
//    {
//        arr[i] = tmp % 10;
//        if (arr[i] > arr[maxi])
//        {
//            maxi = i;
//        }
//        i++;
//        tmp /= 10;
//    }
//    arr[i] = '\0';
//    int size = i;
//    swap(&arr[maxi], &arr[size - 1]);
//    int ret = 0;
//    for (i = 0; i < size; i++)
//    {
//        ret += arr[i] * pow(10, i);
//    }
//    return ret;
//}
//
//int main()
//{
//    int ret = maximumSwap(10);
//    printf("%d\n", ret);
//    return 0;
//}
int cmp(const void* a, const void* b)
{
    return *(int*)a - *(int*)b;
}
double trimMean(int* arr, int arrSize) {
    qsort(arr, arrSize, sizeof(int), cmp);
    int delnum = arrSize /20;
    int sum = 0;
    for (int i = delnum; i < arrSize - delnum; i++)
    {
        sum += arr[i];
    }
    double ret = sum * 1.00000 / (arrSize - 2 * delnum)*1.00000;
    return ret;
}
int main()
{
    int arr[] = { 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3 };
    double ret = trimMean(arr, 20);
    printf("%.5lf\n", ret);
    return 0;
}